package org.yzh.protocol.commons.transform.attribute;

import io.github.yezhihao.protostar.annotation.Field;
import org.yzh.protocol.hlj.AppendFileId;
import org.yzh.protocol.jsatl12.AlarmId;

import java.time.LocalDateTime;

/**
 * 0x41 设备失效监测（黑）
 */
public class HljEfm0x41   {

    public static final int key = 65;

    @Field(length = 1, desc = "报警类型：" +
            "0x00：不可用； " +
            "0x01：遮挡失效报警； " +
            "0x02：红外阻断型墨镜失效报警； " +
            "0x03：主存储器异常报警； " +
            "0x04：备用存储器异常报警； " +
            "0x05：卫星信号异常报警； " +
            "0x06：通信信号异常报警； " +
            "0x07：备用电池欠压报警； " +
            "0x08：备用电池失效报警； " +
            "0x09：IC 卡从业资格证模块故障报警，字段仅适用于报警，如果为预警䈕 位不可用，填入 0x00 即可")
    private int alarmType;

    @Field(length = 1 ,desc = "预警类型: " +
            "0x00：不可用， 字段仅适用于预警，如果为报警䈕 位不可用，填入 0x00 即可")
    private int preWarnType;

    @Field(length = 1, desc = "是否有效提醒驾驶员：0：否；1：是")
    private int remindSuccess;

    @Field(length = 38, desc = "附件标识号")
    private AppendFileId alarmId;

    @Field(length = 1, desc = "遮挡失效报警扩展信息：" +
            "0x01：驾驶员驾驶行为监测摄像头遮挡； " +
            "0x02：车辆运行监测摄像头遮挡")
    private int preWarnExtra;


    public int getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(int alarmType) {
        this.alarmType = alarmType;
    }

    public int getPreWarnType() {
        return preWarnType;
    }

    public void setPreWarnType(int preWarnType) {
        this.preWarnType = preWarnType;
    }

    public int getRemindSuccess() {
        return remindSuccess;
    }

    public void setRemindSuccess(int remindSuccess) {
        this.remindSuccess = remindSuccess;
    }

    public AppendFileId getAlarmId() {
        return alarmId;
    }

    public void setAlarmId(AppendFileId alarmId) {
        this.alarmId = alarmId;
    }

    public int getPreWarnExtra() {
        return preWarnExtra;
    }

    public void setPreWarnExtra(int preWarnExtra) {
        this.preWarnExtra = preWarnExtra;
    }
}